Embodiments of the invention are generally directed to an approach for presenting contract license agreements to users of computing appliances. More specifically, embodiments of the invention provide a variety of techniques for presenting and collecting information indicating user agreement with the terms of a licensing agreement.
Users are frequently required to indicate acceptance of an End-User License Agreements (EULA) before downloading or installing software on a computing system. Such a user may also be required to supply a license key (or other authorizing information) to activate a software application prior to its use.
Similarly, users installing, configuring, or upgrading a computing appliance may be required to accept the terms of a EULA, as such systems typically include embedded software applications made available under the terms of a EULA. For example, a hardware vendor may install and distribute their own (or third party software) as part of their hardware appliance. Computing appliance vendors would prefer to provide users with a rich interface to present and collect and end user's agreement of license terms and any license key or product activation data. For example, a vendor might wish to present license terms in the user's native language (as selected by a user) and using an easy to operate, rich user-interface that allows for printing and browsing of what are frequently large and hard-to-read agreement files. Similarly, a vendor might want to allow a user to activate and configure services using product activation data obtained via a rich user-interface.
However, computing appliances often lack the ability to provide a rich license verification interface. For example, a computing appliance may allow a user to initially boot and configure the appliance via a shell/terminal console accessed over a serial connection (e.g., a standard RS-232 connection used to send and receive ASCII formatted characters). The serial/terminal console is generally limited to presenting unformatted text in response to commands typed at a command prompt. For example, a serial console may allow a user to dump the text of a EULA to a shell window and respond to a yes/no prompt to indicate their acceptance of that license.
Other computing appliances do not provide even a serial connection. For example, some network routers have EULA terms indicating that merely by powering the equipment on, the user is automatically indicating his agreement with the documented terms (usually available on the Web, via printed material in the box or some other media).